1: | f(x,nil) | → g(nil,x) | |
2: | f(x,g(y,z)) | → g(f(x,y),z) | |
3: | x ++ nil | → x | |
4: | x ++ g(y,z) | → g(x ++ y,z) | |
5: | null(nil) | → true | |
6: | null(g(x,y)) | → false | |
7: | mem(nil,y) | → false | |
8: | mem(g(x,y),z) | → or(y = z,mem(x,z)) | |
9: | mem(x,max(x)) | → not(null(x)) | |
10: | max(g(g(nil,x),y)) | → max'(x,y) | |
11: | max(g(g(g(x,y),z),u)) | → max'(max(g(g(x,y),z)),u) | |
12: | F(x,g(y,z)) | → F(x,y) | |
13: | x ++# g(y,z) | → x ++# y | |
14: | MEM(g(x,y),z) | → MEM(x,z) | |
15: | MEM(x,max(x)) | → NULL(x) | |
16: | MAX(g(g(g(x,y),z),u)) | → MAX(g(g(x,y),z)) | |